18.06.2020

Gliederung

Gliederung

  • Überblick
  • Datengrundlage
  • Visualisierungen
  • Forschungsfragen
  • Problemstellungen
  • Stündliche Analyse
  • Tägliche Analyse
  • Ausblick

Überblick

Überblick

  • Daten der Stadt New York über Bikesharing Programm im Jahr 2016
  • Möglichst genaue und sinnvolle Vorhersage der Nutzerzahlen an den einzelnen Stationen
  • Weitere Einflussfaktoren wie Wetter, Feiertage
  • Vorhersage mit Künstlichem Neuronalem Netz
    • Spezialform Long Short Term Memory Netz
  • Benchmark mit linearer Regression
  • Fehlermaß ist Root Mean Squared Error

Datengrundlage

Bikesharing Daten

  • Datensatz mit einer Leihe pro Zeile
  • Informationen zu jeder Leihe:
    • Start- und Endzeitpunkt
    • Start- und Endstation
    • Dauer der Leihe
    • Fahrrad-ID
    • Abostatus
    • Alter
    • Geschlecht

Bikesharing Daten

Überblick Bikesharing Daten

Bikesharing Daten

Aggregationen

  • Zu Analysezwecken Perspektivwechsel von Leihe zu Station/Bezirk
  • Aggregierte Datensätze enthalten tägliche/stündliche Informationen je Station/Bezirk
  • Für verschiedene Zwecke unterschiedliche Informationen
    • z.B. Alter und Fahrtdauer ohne Berücksichtigung in stündlichem Datensatz

Bikesharing Daten

Aggregationen

  • Für Analyse genutzte Informationen je Bezirk
    • Datum bzw. Datum und Stunde
    • Bezirk
    • Anzahl der Nutzer, die eine Rad ausleihen
    • Durchschnittliche Fahrtdauer
    • Durchschnittliches Alter
    • Wochen- und Feiertage
    • Monat und Quartal

Wetterdaten

  • Tägliches und stündliches Wetter als zusätzliche Einflussfaktoren
  • Tägliche Wetterdaten:
    • Maximal-, Minimal-, Durchschnitttemperatur in Grad Celsius
    • Niederschlagsmenge in Millimeter
    • Schneefall in Millimeter
    • Schneetiefe in Millimeter
  • Stündliche Wetterdaten
    • Temperatur in Grad Celsius
    • Niederschlagsmenge in Millimeter
    • Windgeschwindigkeit in Km/h

Datensatz für Analysen

  • Für Analyse Zusammenführung von Wetter- und Bikesharingdaten
    • Datum und Stunde
    • Bezirk
    • Anzahl der Nutzer, die eine Rad ausleihen
    • Durchschnittliche Fahrtdauer und Alter
  • Wochen- und Feiertage
  • Monat und Quartal
  • Temperatur
  • Nierderschlagsmenge
  • Schneefall und -tiefe
  • Windgeschwindigkeit

Visualisierungen

Grundlegende Visualisierungen

Nutzerzahlen Pro Monat

Grundlegende Visualisierungen

Nutzerzahlen Pro Monat Nach Geschlecht

Grundlegende Visualisierungen

Grundlegende Visualisierungen

Durchschnittliche Nutzeranzahl Pro Stunde

Grundlegende Visualisierungen

Durchschnittliche Nutzeranzahl Pro Stunde Nach Abonnement

Grundlegende Visualisierungen

Durchschnittliches Alter Der Nutzer Pro Stunde

Grundlegende Visualisierungen

Nutzeranzahl Je Durchschnittstemperatur

Leihstationen in New York

Choropleth Map

Choropleth Map Mit Leihstationen

Entwicklung der Nutzerzahlen Je Bezirk

Forschungsfragen

Forschungsfragen

  • Ursprünglich die Vorhersage der Nutzerzahlen je Leihstation
  • Diverse Problemstellungen
  • Finale Forschungsfragen
    1. Können die Nutzerzahlen je Stunde für den Bezirk Chelsea zuverlässig vorhergesagt werden?
    2. Können die Nutzerzahlen je Tag für den Bezirk Chelsea zuverlässig vorhergesagt werden?

Problemstellungen

Problemstellungen

  • Sehr große Datenmengen
    • Ursprünglicher Datensatz 13 000 000 Zeilen
  • Features mit sehr vielen Kategorien
    • über 600 Leihstationen
    • mehr als 60 Bezirke
  • Hochdimensionale Daten nach Analyseaufbereitung
    • Dummykodierung notwendig
  • Lösung: Nach Bezirken getrennte Analysen

Stündliche Analyse

Stündliche Daten

  • Daten für den Bezirk Chelsea
  • Informationen über:
    • Datum und Stunde
    • Anzahl der Nutzer
    • Wochen- und Feiertag
    • Quartal
    • Temperatur
    • Windgeschwindigkeit
    • Niederschlagsmenge

Stündliche Daten

Überblick Datengrundlage Stündliche Analyse

Lineare Regression

  • Alle Variablen mit einbezogen
  • Statistisch signifikant sind:
    • Stunde
    • Feiertag
    • Wochentage Mittwoch und Freitag
    • Temperatur
    • Niederschlagsmenge
  • R-Quadrat mit 29.4% sehr niedrig
  • RMSE nach Vorhersage mit Testdaten 152.69
    • Durchschnittlicher Fehler von rund 153 Nutzer pro Stunde

Lineare Regression

Long Short Term Memory Netz

  • Einbeziehung aller Variablen außer Datum
  • Hyperparameter:
    • Anzahl Epochen: 120
    • Batchsize: 1
    • Anzahl Lags: 5
    • Anzahl Timesteps: 6

Long Short Term Memory Netz

hourly_lstm <- fit_lstm(X = hourly.X.train, y = hourly.Y.train,
                 timesteps = hourly.ann.timesteps,
                 validation_split = 0.05,
                 epochs = hourly.ann.epochs,
                 batchsize = c(NA,hourly.ann.batchsize),
                 #k.fold = 3, k.optimizer = "min",
                 hidden = data.frame(c(50,25),c("tanh")),
                 dropout = c(0.5,0.1),
                 output_activation = "linear",
                 stateful = F, return_sequences = T,
                 loss = "mean_squared_error",
                 optimizer = "Ftrl",
                 metrics = c('mean_absolute_error'))

Long Short Term Memory Netz

  • RMSE mit 4.9764745 sehr niedrig
    • Durchschnittlicher Fehler von rund 5 Nutzern pro Stunde

Modellvergleich

  • LSTM schneidet deutlich besser ab
    • zufriedenstellende Prognose
  • RMSE der linearen Regression: 153
  • RMSE des LSTM Netzes: 5

Modellvergleich

Tägliche Analyse

Tägliche Daten

  • Daten für den Bezirk Chelsea
  • Informationen über:
    • Datum
    • Anzahl der Nutzer
    • Wochen- und Feiertag
    • Monat
    • Temperatur
    • Niederschlagsmenge
    • Schneefall und -tiefe
    • Durchschnittliche Fahrtdauer und Alter der Nutzer

Tägliche Daten

Lineare Regression

  • Alle Variablen mit einbezogen
  • Statistisch signifikant sind:
    • Schneefall und -tiefe
    • Feiertag
    • Monate März-Juni
  • R-Quadrat mit 67.14% in Ordnung
  • RMSE nach Vorhersage mit Testdaten 2257.013212
    • Durchschnittlicher Fehler von rund 2257 Nutzer pro Tag

Lineare Regression

Long Short Term Memory Netz

  • Einbeziehung aller Variablen außer Datum
  • Hyperparameter:
    • Anzahl Epochen: 200 + k-fold cross validation
    • Batchsize: 2
    • Anzahl Lags: 1
    • Anzahl Timesteps: 2

Long Short Term Memory Netz

lstm <- fit_lstm(X = X.train, y = Y.train,
                 timesteps = ann.timesteps,
                 validation_split = 0.05,
                 epochs = ann.epochs,
                 batchsize = c(NA,ann.batchsize),
                 k.fold = 3, k.optimizer = "min",
                 hidden = data.frame(c(50,25),c("tanh")),
                 dropout = c(0.5,0.1),
                 output_activation = "linear",
                 stateful = F, return_sequences = T,
                 loss = "mean_squared_error",
                 optimizer = "Ftrl",
                 metrics = c('mean_absolute_error'))

Long Short Term Memory Netz

  • RMSE mit 71.0775413 niedrig
    • Durchschnittlicher Fehler von rund 71 Nutzern pro Tag

Modellvergleich

  • LSTM schneidet deutlich besser ab
    • zufriedenstellende Prognose
  • RMSE der linearen Regression: 2257
  • RMSE des LSTM Netzes: 71

Modellvergleich

Ausblick

Ausblick

  • Gute Prognose der LSTMs für einen Bezirk
  • Übertragbar auf alle Bezirke und Stationen
    • Für jeden Bezirk/jede Station ein KNN
  • Vorhersage aller Bezirke/Stationen in einem Netz
    • Lösbar durch mehrere Output-Units
  • Problem der Rechenkapazität durch Cloud Computing lösbar

Ausblick

  • Forschungsfragen können positiv beantwortet werden
  • Genaue und sinnvolle Prognose möglich
  • Optimiert Ressourcenplanung
  • Steigert Kundenzufriedenheit

Vielen Dank Für Ihre Aufmerksamkeit!